package agenda;
 
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; 
import java.util.ArrayList;
import java.util.Scanner;

//Classe responsável pelas acessar e modificar contato
public class FuncoesContato {
 
    Scanner read = new Scanner(System.in);
    Statement st;
    ResultSet rs;
    String query;
    ArrayList<Contato> contatos = new ArrayList<Contato>();
    //Método responsável por Listar os contatos da memória
    public ArrayList ListarContatos()
    {
        int i = 1;
        int count = 0;
        try{
            query = "SELECT * FROM contatos.contato";
            st = Agenda.db.conn.createStatement();
            rs = st.executeQuery(query);
            while (rs.next())
            {
                int id = rs.getInt("id");
                String nome = rs.getString("nome");
                String telefone = rs.getString("telefone");
                String endereco = rs.getString("endereco");
                String email = rs.getString("email");
                // Guardar resultados no Array
                contatos.add(new Contato(id,nome, telefone, email, endereco));
          }
        }
        catch (Exception e)
        {
          System.err.println("Não foi possivel realizar a busca! ");
          System.err.println(e.getMessage());
        }
        return contatos;
     }
 
    //Método responsável por Pesquisar um contato na memória
    public void PesquisarContatos()
    {
      
    }
    // Método responsável em adicionar um contato na memória
    public void AdicionarContato(String nome, String telefone, String email, String endereco){
        try{
            query = "INSERT INTO contatos.contato " +
                    " (nome,telefone,email,endereco)" +
                    " VALUES("
                    + "'" + nome + "'," 
                    + "'" + telefone  + "',"
                    + "'" + email  + "',"
                    + "'" + endereco + "'"
                    + ")" ;
            PreparedStatement st = Agenda.db.conn.prepareStatement(query);
            st.execute();
        }
        catch(Exception e){
            System.out.println(e);
            System.out.println(query);
        }
    }
     // Método responsável em excluir um nome da memória    
    public void ExcluirContato()
    {
        
    }
}

